package web.beans;

import java.util.ArrayList;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

import ejb.dto.EscursioneDTO;
import ejb.dto.HotelDTO;
import ejb.dto.VoloDTO;
import ejb.managerbeans.EscursioneManagerBeanLocal;
import ejb.managerbeans.HotelManagerBeanLocal;
import ejb.managerbeans.ProdottoManagerBeanLocal;
import ejb.managerbeans.VoloManagerBeanLocal;

@ManagedBean(name="prodottiBaseBean")
@RequestScoped
public class ProdottiBaseBean
{
	@EJB
	private ProdottoManagerBeanLocal pmb;
	@EJB
	private VoloManagerBeanLocal vmb;
	@EJB
	private EscursioneManagerBeanLocal emb;
	@EJB
	private HotelManagerBeanLocal hmb;
	
	private List<HotelDTO> hotelDTOs;
	private List<EscursioneDTO> escursioneDTOs;
	private List<VoloDTO> voloDTOs;
	
	
	@PostConstruct
    public void init() 
    {  
        hotelDTOs = new ArrayList<HotelDTO>();
        escursioneDTOs = new ArrayList<EscursioneDTO>();
        voloDTOs = new ArrayList<VoloDTO>();
        
        populateListEscursione();
        populateListHotel();
        populateListVolo();
    }

	public void populateListHotel() 
	{
		hotelDTOs = hmb.getAllHotelDTO();
	}
	
	public void populateListEscursione() 
	{
		escursioneDTOs = emb.getAllEscursioneDTO();
	}
	
	public void populateListVolo() 
	{
		voloDTOs = vmb.getAllVoloDTO();
	}  
	
	public List<HotelDTO> getHotelDTOs() {
		return hotelDTOs;
	}

	public void setHotelDTOs(List<HotelDTO> hotelDTOs) {
		this.hotelDTOs = hotelDTOs;
	}

	public List<EscursioneDTO> getEscursioneDTOs() {
		return escursioneDTOs;
	}

	public void setEscursioneDTOs(List<EscursioneDTO> escursioneDTOs) {
		this.escursioneDTOs = escursioneDTOs;
	}

	public List<VoloDTO> getVoloDTOs() {
		return voloDTOs;
	}

	public void setVoloDTOs(List<VoloDTO> voloDTOs) {
		this.voloDTOs = voloDTOs;
	}
	
	public String eliminaProdottoBase( int id )
	{
		pmb.remove( id );
		return "listpb?faces-redirect=true";
	}
	
	public String openPage( String page )
	{
		return page + "?faces-redirect=true";
	}
}